﻿ 
 
using System;

namespace ChessKit.Logic
{
  partial struct Square
  {
    /*  
     * 112 113 114 115 116 117 118 119 | 120 121 122 123 124 125 126 127
     * 96  97  98  99  100 101 102 103 | 104 105 106 107 108 109 110 111
     * 80  81  82  83  84  85  86  87  |  88  89  90  91  92  93  94  95
     * 64  65  66  67  68  69  70  71  |  72  73  74  75  76  77  78  79
     * 48  49  50  51  52  53  54  55  |  56  57  58  59  60  61  62  63
     * 32  33  34  35  36  37  38  39  |  40  41  42  43  44  45  46  47
     * 16  17  18  19  20  21  22  23  |  24  25  26  27  28  29  30  31
     * 0   1   2   3   4   5   6   7   |   8   9  10  11  12  13  14  15
     */
    public static readonly Square A1 = 0 * 16 + 0;
    public static readonly Square B1 = 0 * 16 + 1;
    public static readonly Square C1 = 0 * 16 + 2;
    public static readonly Square D1 = 0 * 16 + 3;
    public static readonly Square E1 = 0 * 16 + 4;
    public static readonly Square F1 = 0 * 16 + 5;
    public static readonly Square G1 = 0 * 16 + 6;
    public static readonly Square H1 = 0 * 16 + 7;
    public static readonly Square A2 = 1 * 16 + 0;
    public static readonly Square B2 = 1 * 16 + 1;
    public static readonly Square C2 = 1 * 16 + 2;
    public static readonly Square D2 = 1 * 16 + 3;
    public static readonly Square E2 = 1 * 16 + 4;
    public static readonly Square F2 = 1 * 16 + 5;
    public static readonly Square G2 = 1 * 16 + 6;
    public static readonly Square H2 = 1 * 16 + 7;
    public static readonly Square A3 = 2 * 16 + 0;
    public static readonly Square B3 = 2 * 16 + 1;
    public static readonly Square C3 = 2 * 16 + 2;
    public static readonly Square D3 = 2 * 16 + 3;
    public static readonly Square E3 = 2 * 16 + 4;
    public static readonly Square F3 = 2 * 16 + 5;
    public static readonly Square G3 = 2 * 16 + 6;
    public static readonly Square H3 = 2 * 16 + 7;
    public static readonly Square A4 = 3 * 16 + 0;
    public static readonly Square B4 = 3 * 16 + 1;
    public static readonly Square C4 = 3 * 16 + 2;
    public static readonly Square D4 = 3 * 16 + 3;
    public static readonly Square E4 = 3 * 16 + 4;
    public static readonly Square F4 = 3 * 16 + 5;
    public static readonly Square G4 = 3 * 16 + 6;
    public static readonly Square H4 = 3 * 16 + 7;
    public static readonly Square A5 = 4 * 16 + 0;
    public static readonly Square B5 = 4 * 16 + 1;
    public static readonly Square C5 = 4 * 16 + 2;
    public static readonly Square D5 = 4 * 16 + 3;
    public static readonly Square E5 = 4 * 16 + 4;
    public static readonly Square F5 = 4 * 16 + 5;
    public static readonly Square G5 = 4 * 16 + 6;
    public static readonly Square H5 = 4 * 16 + 7;
    public static readonly Square A6 = 5 * 16 + 0;
    public static readonly Square B6 = 5 * 16 + 1;
    public static readonly Square C6 = 5 * 16 + 2;
    public static readonly Square D6 = 5 * 16 + 3;
    public static readonly Square E6 = 5 * 16 + 4;
    public static readonly Square F6 = 5 * 16 + 5;
    public static readonly Square G6 = 5 * 16 + 6;
    public static readonly Square H6 = 5 * 16 + 7;
    public static readonly Square A7 = 6 * 16 + 0;
    public static readonly Square B7 = 6 * 16 + 1;
    public static readonly Square C7 = 6 * 16 + 2;
    public static readonly Square D7 = 6 * 16 + 3;
    public static readonly Square E7 = 6 * 16 + 4;
    public static readonly Square F7 = 6 * 16 + 5;
    public static readonly Square G7 = 6 * 16 + 6;
    public static readonly Square H7 = 6 * 16 + 7;
    public static readonly Square A8 = 7 * 16 + 0;
    public static readonly Square B8 = 7 * 16 + 1;
    public static readonly Square C8 = 7 * 16 + 2;
    public static readonly Square D8 = 7 * 16 + 3;
    public static readonly Square E8 = 7 * 16 + 4;
    public static readonly Square F8 = 7 * 16 + 5;
    public static readonly Square G8 = 7 * 16 + 6;
    public static readonly Square H8 = 7 * 16 + 7;
  }
}